Both options you find max as a subset and then exclude from main select sql> SELECT MAX( col ) FROM table WHERE col < ( SELECT MAX( col ) FROM table); sql> SELECT MAX(col) FROM table WHERE col NOT IN (SELECT MAX(col) FROM table);